The present invention relates generally to an apparatus and method for displaying graphics on a computer display screen, and more particularly to simultaneously displaying data from graphics and video sources on the same screen.
Graphical applications are becoming increasingly popular with computer users. High resolution pictures, animation, and other visual and graphical effects displayed on a computer screen have become commonplace as computer microprocessors are developed having greater speed and processing power. Graphical user interfaces (GUI's), for example, are used widely. It is generally accepted that computers having graphical user interfaces (GUI's) are easier to use, and that it is (quicker to learn an application program in a GUI environment than in a non-GUI environment.
The increased graphical capabilities of computers have led to the display of video signals on computer display screens. A video source, such as a video camera, television receiver, etc. can be used to input a video signal to a computer. Components such as an analog-to-digital converter (ADC) convert the analog video signals to digital signals which the computer can process. These digital signals are typically organized into "pixels," which are fundamental picture elements of an image on a display screen. The computer eventually sends the digital video data to a digital to analog converter (DAC) to display analog video signals on a computer display screen which look like the displayed images and animations of a CRT of a television, for example. Many computers can display live video signals in full color and resolution with no loss in frame rate or detail.
A common application of computer-displayed video signals is to display a video "window" on a screen surrounded by displayed computer-generated graphics. For example, in a GUI, the computer typically displays a graphical background, several menu selections, icon shapes, open windows on the screen, etc. A live video window can be displayed on one portion of the screen while the rest of the screen displays standard graphical objects. A computer user could thus watch a live video window while working with other computer applications, such as a word processing window or a spreadsheet window. The size of the video window can be set by the user in some applications, although the resolution and frame rate for a certain window size depends on the speed and processing power of the computer and its display circuitry.
In displaying both graphics and video on a computer screen simultaneously, the computer typically uses memory to store the graphics and video data before outputting the data to the screen. FIG. 1 is a block diagram of a typical prior art display system 10 used in a computer to simultaneously display video data and graphics data on the same screen. Commands from a microprocessor are sent on a system bus 12 to a graphics adapter chip 14, which can be implemented as an application specific integrated circuit (ASIC). Graphics adapter chip 14 receives the commands such as drawing commands, rendering commands, or commands to transfer data in memory and performs those commands. Graphics adapter chip 14 sends generated data on bus 15 to VRAM or other types of memory chips 16 to store the generated graphics data. Graphics data from the VRAM chip 16 is sent to digital-to-analog converter (DAC) 18 when instructed by graphics adapter chip 14. DAC 18 converts the digital graphics data to analog data to be displayed on a display screen 19. A common method of display is to output separate red, green, and blue (KGB) signals from the DAC to a color display screen. A video window 21 is shown displayed on display screen 19 with a graphics background 22.
Display system 10 also includes a video source 20 for inputting a video signal. Video sources such as a video camera, a video cassette recorder, or a television receiver are typically used. The analog video signal from the video source is input to an analog-to-digital converter (ADC)/decoder/scaler 24, which converts the analog video signal to a digital signal suitable for use with the other digital components of the system and extracts usable video data and synchronization signals from the digitized video data. The ADC/decoder/scaler 24 outputs digital video data, synchronization signals and other data derived from components well known to those skilled in the art on bus 26, which is mixed with bus 15 output from graphics adapter chip 14. The video data is stored in VRAM 16 and thus shares the memory with graphics data generated by graphics adapter chip 14. Typically, video data is stored in a particular section of memory and is readily accessible by the graphics adapter chip 14. Graphics adapter chip 14 receives information from the microprocessor indicating where the video window is located on the screen and causes graphics data or video data to be output from VRAM 16 when appropriate.
The prior art display system shown in FIG. 1 is useful in that a displayed video window can be stored in existing memory that is also used for graphics data, thereby obviating any need for additional memory and cost. However, this display system is limited by the bandwidth of the memory bus 15. Since graphics data and video data share the same bus, the amount of graphics and video data that can be stored in VRAM 16 and transferred to DAC 18 at one time is substantially reduced, especially when displaying "true color" 24-bit video pixels, which require a large memory bandwidth. The performance of the display system is thus reduced, and either the displayed video window is limited to a small size or a low resolution so that the full frame rate of the video signal can be displayed, or the frame rate of the video signal is reduced so that a particular resolution or window size can be displayed. In either case, the presentation of a video signal in the video window is degraded.
What is needed is a display system of a computer system that provides a large memory bandwidth capable of displaying a large video window at a high resolution and full frame rate while displaying graphics on the other portions of the display screen. The video window should be displayed without any video image clipping and without any restrictions as to its displayed location on a computer screen.